package com.neuedu.corejava.jdbc.dao;

import java.util.List;

/**
 * 定义泛型接口，用于定义数据库的基本操作
 * @author admin
 *
 */
public interface IBaseDao<T> {

	/**
	 * 新增
	 * @param param
	 * @return
	 */
	public boolean add(T param);
	/**
	 * 修改
	 * @param param
	 * @return
	 */
	public boolean edit(T param);
	/**
	 * 删除
	 * @param id
	 * @return
	 */
	public T deleteById(int id);
	/**
	 * 根据主键查询
	 * @param id
	 * @return
	 */
	public T findById(int id );
	/**
	 * 查询所有记录
	 * @return
	 */
	public List<T>findAll();
	/**
	 * 查询所有记录
	 * @param param
	 * @return
	 */
	public List<T>findByExample(T param);
	/**
	 * 分页查询
	 * @param page 页面，从1开始，1表示第一页
	 * @param size 分页，分页大小，最小值是1，表示每页查询1条记录
	 * @return
	 */
	public List<T>findByExample(Integer page, int size);
}
